CFLAGS=-O3 -Wall -lm -lSDL2

all: tmzdemo2

# See https://www.gnu.org/software/make/manual/make.html#Catalogue-of-Rules
# and why that doesn't work anymore: https://stackoverflow.com/questions/9417169/why-does-the-library-linker-flag-sometimes-have-to-go-at-the-end-using-gcc
# Thus we need the explicit rule below.
tmzdemo2: gridtmz.o ricker.o snapshot2d.o plot2d.o updatetmz.o tfsftmz.o grid1dez.o abctmz.o plotWindow.o incident.o material.o source.o
	gcc tmzdemo2.c gridtmz.o ricker.o snapshot2d.o plot2d.o updatetmz.o tfsftmz.o grid1dez.o abctmz.o plotWindow.o incident.o material.o source.o -o tmzdemo2 $(CFLAGS)

deptree:
	cinclude2dot 2>/dev/null | sed -e "s/.[hc]\"/\"/g" >  deptree.dot && \
	twopi -Tsvg deptree.dot -odeptree.svg && \
	rm -f deptree.dot

clean:
	rm -f tmzdemo2 gridtmz.o ricker.o snapshot2d.o plot2d.o updatetmz.o tfsftmz.o grid1dez.o abctmz.o plotWindow.o incident.o material.o source.o deptree.dot deptree.svg
